package com.jun.seckill_by_jun.rabbitmq;

import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.core.TopicExchange;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MQConfig {
    public static final String SECKILL_QUEUE ="seckill.queue";
//    public static final String QUEUE ="queue";
//    public static final String TOPIC_QUEUE1 ="topic.queue1";
//    public static final String TOPIC_QUEUE2 ="topic.queue2";
//    public static final String TOPIC_EXCHANGE ="topic.exchange";
//    public static final String ROUTING_KEY1 ="topic.key1";
//    public static final String ROUTING_KEY2 ="topic.#";

    @Bean
    public Queue seckillQueue(){
        return new Queue(SECKILL_QUEUE,true);
    }
//    /**
//     * Direct模式 交换机 Exchange
//     * 发送者先发送到交换机上，然后交换机作为路由再将消息发送到队列；
//     */
//    @Bean
//    public Queue queue(){
//        return new Queue(QUEUE,true);
//    }
//    /**
//     * Topic模式 交换机Exchange
//     */
//    @Bean
//    public Queue topicQueue1(){
//        return new Queue(TOPIC_QUEUE1,true);
//    }
//    @Bean
//    public Queue topicQueue2(){
//        return new Queue(TOPIC_QUEUE2,true);
//    }
//    @Bean
//    public TopicExchange topicExchange(){
//        return new TopicExchange(TOPIC_EXCHANGE);
//    }
//    @Bean
//    public Binding topicBinding1(){
//        return BindingBuilder.bind(topicQueue1()).to(topicExchange()).with(ROUTING_KEY1);
//    }
//    @Bean
//    public Binding topicBinding2(){
//        return BindingBuilder.bind(topicQueue2()).to(topicExchange()).with(ROUTING_KEY2);
//    }
}
